home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / CRESC / Variations / randomize-values < prev    next >
Lisp/Scheme  |  1996-12-31  |  822b  |  19 lines

  1. randomize-values seed list/vector-of-values
  2.  
  3. Use this to randomize the values in a list/vector-of-values of note-lengths, zone-lengths or velocities. The function takes each number to be randomized as a top limit so that the randomization takes place between 0 and that value. Optional seed can be used to initialize the process.
  4.  
  5. (setq rndzones (randomize-values 0.23 '(192 46 2790 192)))
  6. --> #(60 3 689 69)
  7.  
  8. See its use in conjunction with build-zones. Note also that the use of gen-noise-brownian/ gaussian gives random zones that has tendensies, which often give better results.
  9.  
  10. (vector-round 48 192 
  11.       (vector-quantize 128 6 
  12.          (gen-noise-brownian 7 0.8593 0.79)))
  13. --> (118 142 48 96 184 192)
  14.  
  15. Example of randomizing a vector pattern:
  16.  
  17. (randomize-values 0.4 (gen-polygonal 'hexagon 6))
  18. --> #(1 2 7 10 15)
  19.